/*
 * Constantes.h
 *
 *  Created on: 18/11/2009
 *      Author: luis
 */

#ifndef CONSTANTES_H_
#define CONSTANTES_H_

#define TAMANIO_FILA	30
#define TAMANIO_COLUMNA	150
#define DIVISION 		50
#define TAMANIO_COL_SALIDA 80
#define TAMANIO_COL_T_TRANS 70


//Nombres de imagenes para la ventana principal
#define BOTON_AND 		"./graphics/and.bmp"
#define BOTON_OR 		"./graphics/or.bmp"
#define BOTON_NOT 		"./graphics/not.bmp"
#define BOTON_XOR 		"./graphics/xor.bmp"
#define BOTON_IN 		"./graphics/in.bmp"
#define BOTON_OUT 		"./graphics/out.bmp"
#define BOTON_ROTAR 	"./graphics/rotar.bmp"
#define BOTON_TRASLADAR "./graphics/trasladar.bmp"
#define BOTON_CABLE 	"./graphics/wire.bmp"
#define BOTON_SELECCIONAR 	"./graphics/seleccionar.bmp"
#define BOTON_SIMULAR 	"./graphics/simular.bmp"
#define BOTON_BORRAR 	"./graphics/borrar.bmp"
#define BOTON_SIMULAR_UNA 	"./graphics/simular_vez.bmp"
#define BOTON_CAJA_NEGRA "./graphics/box.bmp"
#define BOTON_TABLA		"./graphics/tabla.bmp"
//Nombres de imagenes para el DrawingArea
#define IMAGEN_FONDO 		"./graphics/fondo.bmp"

//Nombre de imagenes para las compuertas
#define ASCII_CERO 48
#define ASCII_NUEVE 57
//Constantes de la pantalla

#define TAMANIO 	50
#define ROTACION 	90

//Constantes que definen la posicion de una imagen
#define COMPUERTA_AND 	0
#define COMPUERTA_OR 		8
#define COMPUERTA_NOT 	16
#define COMPUERTA_XOR 	24
#define IN_OUT 	32
#define IN		32
#define OUT		36

//Constantes de angulo
#define GRADOS_0 		0
#define GRADOS_90 		90
#define GRADOS_180 		180
#define GRADOS_270 		270
#define GRADOS_360 		360

#define CANT_MAX_AREAS	15

//Estados

#define TRASLADANDO 			1
#define ROTANDO					2
#define SELECCIONANDO			3
#define ELEMENTOS_SELECCIONADOS 4
#define INICIANDO_CABLEADO		5
#define CABLEANDO				6
#define TERMINANDO_CABLEADO		7
#define SEL_TRASLAD				9
#define BORRANDO				10
#define AGREGANDO_CAJA			11
#define TRASLADAR_SELECCION		12
#define TRASLADANDO_SELECCION	13

#define INVALIDO 		-1
#define ARRIBA	1
#define ABAJO	2
#define IZQUIERDA	3
#define DERECHA	4
#define NEUTRO	-1

#define TIPO_ENTRADA 1
#define TIPO_SALIDA 2
#define TIPO_AND 3
#define TIPO_NOT 4
#define TIPO_OR 5
#define TIPO_XOR 6
#define TIPO_EXTERNO 7

#define LARGO_NOMBRE 10

#define MOVIENDO_INICIO 0
#define MOVIENDO_FINAL 1

#define CORRECTO 0
#define INCORRECTO 1
#endif /* CONSTANTES_H_ */
